package net.maku.generator.controller;

import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import net.maku.generator.common.utils.Result;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/maku-generator/userToken")
public class TestController {

    /**
     * 新增转码请求日志
     */
    @PostMapping("/add")
    public Result<Void> add(@RequestBody JSONObject dto) {
        return Result.ok();
    }

    /**
     * 修改转码请求日志
     */
    @PutMapping("/update")
    public Result<Void> update(@RequestBody JSONObject dto) {
        return Result.ok();
    }

    /**
     * 删除转码请求日志
     *
     * @param id 转码请求日志ID
     */
    @DeleteMapping("/delete")
    public Result<Void> delete(@RequestParam("id") @NotNull(message = "转码请求日志ID不能为空") Integer id) {
        return Result.ok();
    }

    /**
     * 批量删除转码请求日志
     *
     * @param idList 转码请求日志ID列表
     */
    @DeleteMapping("/deleteList")
    public Result<Void> deleteList(@RequestBody @NotEmpty(message = "转码请求日志ID列表不能为空") List<Integer> idList) {
        return Result.ok();
    }

    /**
     * 转码请求日志详情
     *
     * @param id 转码请求日志ID
     */
    @GetMapping("/detail")
    public Result<JSONObject> detail(@RequestParam("id") @NotNull(message = "转码请求日志ID不能为空") Integer id) {
        return Result.ok();
    }

    /**
     * 转码请求日志批量查询
     *
     * @param idList 转码请求日志ID列表
     */
    @PostMapping("/detailList")
    public Result<List<JSONObject>> detailList(@RequestBody List<Integer> idList) {
        return Result.ok();
    }

    /**
     * 转码请求日志简单分页
     */
    @PostMapping("/entityPage")
    public Result<Page<JSONObject>> entityPage(@RequestBody JSONObject json) {
        return Result.ok();
    }

    /**
     * 转码请求日志简单列表
     */
    @PostMapping("/entityList")
    public Result<List<JSONObject>> entityList(@RequestBody JSONObject query) {
        return Result.ok();
    }

    /**
     * 转码请求日志复杂分页
     */
    @PostMapping("/voPage")
    public Result<Page<JSONObject>> voPage(@RequestBody JSONObject query) {
        return Result.ok();
    }

    /**
     * 转码请求日志复杂列表
     */
    @PostMapping("/voList")
    public Result<List<JSONObject>> voList(@RequestBody JSONObject query) {
        return Result.ok();
    }

}
